The present invention relates, in general, to the field of fibre channel switching technology. More particularly, the present invention relates to a route caching scheme for a receive port in a fibre channel switch.
Fibre Channel is a high performance, serial interconnect standard designed for bi-directional, point-to-point communications between servers, storage systems, workstations, switches, and hubs. It offers a variety of benefits over other link-level protocols, including efficiency and high performance, scalability, simplicity, ease of use and installation, and support for popular high level protocols.
Fibre channel employs a topology known as a xe2x80x9cfabricxe2x80x9d to establish connections between ports. A fabric is a network of switches for interconnecting a plurality of devices without restriction as to the manner in which the switch can be arranged. A fabric can include a mixture of point-to-point and arbitrated loop topologies.
In Fibre Channel, a channel is established between two nodes where the channel""s primary task is to transport data from one point to another at high speed with low latency. The Fibre channel switch provides flexible circuit/packet switched topology by establishing multiple simultaneous point-to-point connections. Because these connections are managed by the switches or xe2x80x9cfabric elementsxe2x80x9d rather than the connected end devices or xe2x80x9cnodesxe2x80x9d, fabric traffic management is greatly simplified from the perspective of the device.
In a fibre channel switching environment, a module within the switching element determines the appropriate route for incoming frames based upon a particular destination ID value (D_ID) located within the frame header. The D_ID identifies the exit port associated with the incoming frame. In most applications, a route lookup table provides the translation from the D_ID to the appropriate exit port.
In prior approaches, the switch dedicates a unique route lookup table to each port. Since such route lookup tables must necessarily be large to accommodate all the possible associations between the incoming frame D_ID""s and the corresponding exit ports, this approach requires a significant amount of memory.
The route caching design of the present invention provides a solution to the aforementioned problem, which is vastly superior to anything currently available. It not only provides quick access to recently used D_ID and exit port combinations, but it does so in an extremely efficient manner without requiring any significant design changes and with only a relatively straightforward alteration to existing processes for networking in a fibre channel switching environment.
Particularly disclosed herein is a method for routing a data frame through a fibre channel fabric. The fibre channel fabric is comprised of a first fibre channel switch that has a plurality of fibre channel ports. The fibre channel ports are operative for transmitting and receiving a data frame. A plurality of data caches are provided such that at least one data cache is coupled to at least one of the plurality of fibre channel ports. An association is created between an exit port and a destination identification. The association is stored in at least one data cache coupled to at least one of the plurality of fibre channel ports.
In another aspect, the present invention provides a method for storing a data frame route relationship in a fibre channel fabric. A cache is provided that is operatively coupled to a port of a first fibre channel switch. Associating an exit port of the fibre channel switch with a destination identification creates a data frame route relationship. The destination identification is a field of a data frame and represents an end location for transmitting said data frame. The association is then stored in the data cache.
Still further disclosed herein is a fibre channel fabric having reduced latency and increased through put capacity. The network comprises a fibre channel switch having a plurality of fibre channel ports embodied thereon for transmitting and receiving data frames. Continuing, a route control module is coupled to one of the fibre channel ports. The route control module provides the identity of an exit port in response to a request from the fibre channel port for the exit port. The request comprises a destination identification. The network also has a data cache coupled to the route control module. The data cache stores an association between the exit port and the destination identification.